// pages/settings/settings.js
Page({
  data: {
    currentDate: new Date().toISOString().split('T')[0], // 当前日期用于限制生日选择
    userInfo: {
      avatarUrl: '/images/default-avatar.png', // 添加默认头像路径
      nickName: '微信用户',
      gender: 0, // 0-女 1-男
      age: null,
      birthday: null
    },
    ageArray: Array.from({length: 100}, (_, i) => i + 1), // 1-100岁
    ageIndex: 0,
    isModified: false // 新增：标记是否有修改
  },

  onLoad() {
    this.loadUserInfo();
  },

  // 加载用户信息
  loadUserInfo() {
    const savedInfo = wx.getStorageSync('userInfo');
    if (savedInfo) {
      // 计算年龄索引（用于选择器）
      const ageIndex = savedInfo.age ? savedInfo.age - 1 : 0;
      this.setData({
        userInfo: {...this.data.userInfo, ...savedInfo},
        ageIndex
      });
    }
  },

  // 修改头像
  changeAvatar() {
    wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      success: (res) => {
        this.setData({
          'userInfo.avatarUrl': res.tempFiles[0].tempFilePath,
          isModified: true
        });
      }
    });
  },

  // 更新用户名
  updateNickname(e) {
    this.setData({
      'userInfo.nickName': e.detail.value,
      isModified: true
    });
  },

  // 切换性别
  setGender(e) {
    this.setData({
      'userInfo.gender': parseInt(e.currentTarget.dataset.gender),
      isModified: true
    });
  },

  // 选择年龄
  changeAge(e) {
    const age = this.data.ageArray[e.detail.value];
    this.setData({
      'userInfo.age': age,
      ageIndex: e.detail.value,
      isModified: true
    });
  },

  // 选择生日
  changeBirthday(e) {
    this.setData({
      'userInfo.birthday': e.detail.value,
      isModified: true
    });
  },

  // 保存设置
  saveSettings() {
    if (!this.data.isModified) {
      wx.showToast({
        title: '未修改任何信息',
        icon: 'none'
      });
      return;
    }

    // 保存到缓存
    wx.setStorageSync('userInfo', this.data.userInfo);

    // 更新"我的"页面数据
    this.updateProfilePage();

    wx.showToast({
      title: '保存成功',
      icon: 'success',
      duration: 1500,
      success: () => {
        setTimeout(() => {
          wx.navigateBack();
        }, 1500);
      }
    });
  },

  // 更新"我的"页面
  updateProfilePage() {
    const pages = getCurrentPages();
    if (pages.length > 1) {
      const prevPage = pages[pages.length - 2];
      if (prevPage.route === 'pages/wode/wode') {
        prevPage.setData({
          userInfo: this.data.userInfo
        });
        // 如果需要重新计算等级
        if (typeof prevPage.calculateLevel === 'function') {
          prevPage.calculateLevel();
        }
      }
    }
  }
});